package org.fhnw.aigs.client.gameHandling; import java.util.logging.Level; import java.util.logging.Logger; import org.fhnw.aigs.client.communication.ClientMessageBroker; import org.fhnw.aigs.commons.communication.ClientClosedMessage; /** * This class will run automatically as soon as the client closes. This can * either be via System.exit(), an exception or by simply closing the * application's window. It will send a ClientClosedMessage to the server which * will remove the game from the list of active games. * * @author Matthias Stöckli * @version 1.0 */ class ClientShutdownCleanUp implements Runnable { @Override public void run() { runCleanup(); } /** * Sends a ClientClosedMessage to the server upon termination. */ private void runCleanup() { try { ClientClosedMessage clientClosedMessage = new ClientClosedMessage("One of the clients closed the game."); ClientMessageBroker.sendMessage(clientClosedMessage); } catch (Exception ex) { Logger.getLogger(ClientShutdownCleanUp.class.getName()).log(Level.SEVERE, "\"Could not send Shutdown Message. The connection may not have been established yet.", ex); } } }